﻿#ifndef WSIGNALLAMPNODE_H
#define WSIGNALLAMPNODE_H

#include "wbasenode.h"
#include "../common.h"

class WSignalLampNode : public WBaseNode
{
public:
    WSignalLampNode();
    WSignalLampNode(const wxString& pname);
    ~WSignalLampNode();

    /// 设置名称显示角度
    inline void setNameAlignment(TextAlignment alignment) { m_NameAlignment = alignment; }
    /// 得到名称显示角度
    inline TextAlignment getNameAlignment(void) { return m_NameAlignment; }
    /// 设置进路类型
    inline void setRouteType(SLRouteType rtype) { m_SLRouteType = rtype; }
    /// 得到进路类型
    inline SLRouteType getRouteType(void) { return m_SLRouteType; }

    /// 建立脚本文件
    bool createScriptFile(void);

    /// 根据状态得到颜色
    virtual wxColour getColourByState(void);
    /// 工作区域改变
    virtual void changeWorkingRect(wxRect workingrect);
    /// 更新
    virtual void update(void);
    /// 处理鼠标事件
    virtual bool OnMMouseEvent(wxMouseEvent& event);

private:
    TextAlignment m_NameAlignment;              /**< 名称显示角度 */
    SLRouteType m_SLRouteType;                  /**< 信号灯的进路类型 */
};

#endif // WSIGNALLAMPNODE_H
